package cn.exrick.xboot.modules.activiti.entity.business;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import org.springframework.data.annotation.Transient;
import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import cn.exrick.xboot.base.XbootBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author lihuan
 */
@Data
@Entity
@Table(name = "t_matter")
@TableName("t_matter")
@ApiModel(value = "事项流转")
public class Matter extends XbootBaseEntity {

	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "关联流程申请表id")
	private String actBusinessId;

	@Transient
	@TableField(exist = false)
	@ApiModelProperty(value = "工单标题")
	private String orderTitle;

	@Transient
	@TableField(exist = false)
	@ApiModelProperty(value = "申请用户")
	private String applyUser;

	@Transient
	@TableField(exist = false)
	@ApiModelProperty(value = "表单路由名")
	private String routeName;

	@Transient
	@TableField(exist = false)
	@ApiModelProperty(value = "流程实例id")
	private String procInstId;

	@Transient
	@TableField(exist = false)
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "提交申请时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date applyTime;

	@Transient
	@TableField(exist = false)
	@ApiModelProperty(value = "状态 0草稿默认 1处理中 2结束")
	private Integer status;

	@Transient
	@TableField(exist = false)
	@ApiModelProperty(value = "结果状态 0未提交默认 1处理中 2通过 3驳回")
	private Integer result;

	@Transient
	@Column(length = 25)
	private String startMemberId;

	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "开始时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date startDate;

	@Transient
	@Column(length = 25)
	private String approveMemberId;

	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "开始时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date approveDate;

	@Transient
	private Integer finishedflag;

	@Transient
	private Integer ratifyflag;

	@Transient
	@Column(length = 25)
	private String ratifyMemberId;

	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "开始时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date ratifyDate;

	@Transient
	private Integer sort;

	@Transient
	@Column(length = 25)
	private String modifyMemberId;
	@Transient
	@Column(length = 1000)
	private String beforeProcessImg;
	@Transient
	@Column(length = 1000)
	private String inProcessImg;
	@Transient
	@Column(length = 1000)
	private String afterProcessImg;

	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "开始时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date modifyDate;

	@Transient
	private String field0001;
	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date field0002;
	@Transient
	private String field0003;
	@Transient
	private String field0004;
	@Transient
	private String field0005;
	@Transient
	private String field0006;
	@Transient
	private String field0007;
	@Transient
	private String field0008;
	@Transient
	private String field0009;
	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date field0010;
	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date field0011;
	@Transient
	private String field0012;
	@Transient
	private String field0013;
	@Transient
	private String field0014;
	@Transient
	private String field0015;
	@Transient
	private String field0016;
	@Transient
	private String field0017;
	@Transient
	private String field0018;
	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date field0019;
	@Transient
	private String field0020;
	@Transient
	private String field0021;
	@Transient
	private String field0022;
	@Transient
	private Integer field0023;
	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date field0024;
	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date field0025;
	@Transient
	private String field0026;
	@Transient
	private String field0027;
	@Transient
	private String field0028;
	@Transient
	private String field0029;
	@Transient
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date field0030;
	@Transient
	private String field0031;
	@Transient
	private String field0032;
	@Transient
	private String field0033;
	@Transient
	private Integer field0034;
	@Transient
    @Column(precision = 10, scale = 2)
	private BigDecimal field0035;
	@Transient
    @Column(precision = 10, scale = 2)
	private BigDecimal field0036;
	@Transient
	private Integer field0037;
	@Transient
	private Integer field0038;
	@Transient
	private Integer field0039;
	@Transient
	private Integer field0040;
	@Transient
	private String field0041;
	@Transient
	private String field0042;
	@Transient
	private String field0043;
}